In computing systems that employ a mass storage device (such as a hard disk) for the storage of data objects (e.g., files), it is often the case that data objects stored on the mass storage device are “migrated” to backup media (e.g., tape, writeable optical disk, etc.) in order to make room for new data in mass storage. When a data object has been migrated to backup media, it may become necessary to restore the object from the backup media—for example, if a user requests read or write access to a migrated object. When access to such a “migrated” objects is requested, it may be necessary to locate the backup media containing the object, and to mount the media on an appropriate drive in order to restore the object.
It is often the case that migrated data objects are distributed over several media (e.g., where data objects are files, files 1, 3, and 5 may be on tape 1, and files 2 and 4 may be on tape 2). Conventional systems generally place restore requests in a single queue and process these requests in the order received (i.e., first in, first out) without regard to where the data is located. Processing restore requests in this manner tends to lead to repetitive mounting and dismounting of media, as well as repeated traversal of the same media. In the above example, if files 1, 2, 3, 4, and 5 are requested in that order and only one drive is available, then tapes 1 and 2 must alternately be mounted and dismounted from the drive after each file is restored. Moreover, even if two objects reside on the same medium, they may be requested (and processed) in an order that differs from that in which they are located on the medium. In the case of a sequential medium such as a tape, this means that the tape may have to shuttle back and forth repeatedly in order to locate the requested items, thereby increasing wear and tear on the tape.
Additionally, it is usually the case that even if migrated objects reside on different media and plural drives are available, the objects are processed sequentially (i.e., one at a time) in the order in which they appear on a single queue. Restoring migrated objects in this manner is wasteful of resources, because one or more available drives may stand idle while data is retrieved from only a single drive.
The present invention overcomes the limitations and drawbacks of the prior art.